var Checker = new function() {
    this._url = "checker.jsp";              //服务器端文件地址
    this._infoDivSuffix = "CheckDiv";       //提示信息div的统一后缀
    // 检查普通输入信息
    this.checkNode = function(_node) {
        var nodeId = _node.id;              //获取节点id
        if(_node.value != "") {
            var xmlHttp = this.createXmlHttp();  //创建XmlHttpRequest对象
            // 使用POST方法打开一个与指定URL的HTTP连接，并异步发送请求
            xmlHttp.open("POST", this._url, true);
            // 设置HTTP请求头的Content-Type字段为"application/x-www-form-urlencoded"
            xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            // 定义一个匿名函数，当xmlHttp对象的onreadystatechange属性被触发时执行以下代码
            xmlHttp.onreadystatechange = function() {
                // 判断xmlHttp对象的readyState属性是否为4，即请求已完成并且响应已被接收
                if(xmlHttp.readyState == 4) {
                    // 判断xmlHttp对象的status属性是否为200，即请求成功
                    if(xmlHttp.status == 200) {
                        // 调用showInfo方法显示服务器反馈信息
                        Checker.showInfo(nodeId + Checker._infoDivSuffix, xmlHttp.responseText);
                    }
                }
            }
            //发送包含用户输入信息的请求体
            xmlHttp.send("name=" + encodeURIComponent(_node.id) + "&value="+ encodeURIComponent(_node.value));
        }
    }

    //显示服务器反馈信息
    this.showInfo = function(_infoDivId, text) {
        //获取显示信息的div
        var infoDiv = document.getElementById(_infoDivId);
        //反馈信息的第一个字符表示信息类型
        var status = text.substr(0, 1);
        if(status == "1") {
            infoDiv.className = "ok";  //检查结果正常
        } else {
            infoDiv.className = "warning";  //检查结果需要用户修改
        }
        infoDiv.innerHTML = text.substr(1);  //写回详细信息
    }

    //用于创建XMLHttpRequest对象
    this.createXmlHttp = function() {
        var xmlHttp;
        //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
        if(window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();  //FireFox、Opera等支持的创建方式
        } else if(window.ActiveXObject) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  //IE支持的创建方式
        }
        return xmlHttp;
    }

    //检查两次输入的密码是否一致
    this.checkPassword = function() {
        var p1 = document.getElementById("password").value;  //获取密码

        var p2 = document.getElementById("password2").value;  //获取验证密码

        //当两部分密码都输入完毕后进行判断
        if (p1 != "" && p2 != "") {
            if (p1 != p2) {
                this.showInfo("password2" + Checker._infoDivSuffix, "0两次输入密码不一致!");
            } else {
                this.showInfo("password2" + Checker._infoDivSuffix, "1");
            }
        } else if (p1 != null) {
            this.showInfo("password" + Checker._infoDivSuffix, "1");
        }
    }
}